home *** CD-ROM | disk | FTP | other *** search
- Release 5.0 of the Clarkson packet drivers
-
- If you are a user, all you need do is locate the correct packet driver for your
- interface, and read DRIVERS.DOC.
-
-
- Versions:
-
- If you already have an older packet driver, you may wish to upgrade. You
- should base this decision on the contents of the "Changes..." section
- below. The major version (currently 5) goes up with every release. The
- minor version (.x, different for every driver) goes up with every
- significant change in the device dependent part. Three drivers, the
- 3c523, ni5210, and ni9210, all depend on 82586.asm, so they have a
- subminor version number which is the version of 82586.asm. If the minor
- version hasn't changed, then chances are very good that no significant
- bugs have been introduced. Sometimes the file is changed without changing
- the version number. This is done only when an identical change is made to
- all drivers to fix a bug that appears in every driver.
-
- 3C501.ASM version equ 0
- 3C503.ASM version equ 2
- 3C505.ASM version equ 0
- 3C523.ASM version equ 1
- 82586.ASM i82586_version equ 0
- GENERIC.ASM version equ 0
- ISOLAN.ASM version equ 1
- NE1000.ASM version equ 2
- NI5010.ASM version equ 0
- NI5210.ASM version equ 2
- NI9210.ASM version equ 0
- SLIP8250.ASM version equ 3
- TRACE.ASM version equ 0
- WD8003E.ASM version equ 4
-
-
- Contents:
-
- There are now two packet driver distributions. The smaller one,
- drivers.arc, contains only the executable programs on the list below, this
- file, DRIVERS.DOC, and COPYING. The larger one, driverss.arc, contains
- all of the files listed below.
-
- 3C501.ASM Device dependent 3COM 3C501 code.
- 3C501.COM
- 3C503.ASM Device dependent 3COM 3C503 code.
- 3C503.COM
- 3C505.ASM Device dependent 3COM 3C505 code.
- 3C523.ASM Device dependent 3COM 3C523 code.
- 3C523.COM
- 82586.ASM Include file for drivers based on the 82586.
- COPYING The Free Software Foundation's General Public License.
- DEFS.ASM Definitions and macros.
- DRIVERS.DOC User documentation.
- DUMP.C Source of the trace dumper.
- DUMP.EXE
- GENERIC.ASM Device dependent generic code (a skeleton only).
- HEAD.ASM Resident device independent generic code.
- IBMTOKEN.ASM Device dependent IBM Token Ring Adapter code.
- IBMTOKEN.COM
- IBMTOKEN.DOC
- ISOLAN.ASM Device dependent BICC Isolan 4110 code.
- ISOLAN.COM
- MAKEFILE Makefile. Uses tasm and tlink, but MS may work.
- NE1000.ASM Device dependent Novell NE1000 code.
- NE1000.COM
- NI5010.ASM Device dependent Interlan NI5010 code.
- NI5010.COM
- NI5210.ASM Device dependent MICOM-Interlan NI5210 code.
- NI5210.COM
- NI9210.ASM Device dependent MICOM-Interlan NI9210 code.
- NI9210.COM
- PACKETQA.TXT Questions from R. Nelson and Answers from jbvb@vax.ftp.com
- PACKET_D.108 Packet driver spec version 1.08
- PKTADDR.ASM Program to get/set the packet driver address.
- PKTADDR.COM
- PKTALL.ASM Program to receive and discard all packets.
- PKTALL.COM
- PKTCHK.ASM Source of the packet driver installation checker.
- PKTCHK.COM
- PKTMODE.ASM Program to get/set the packet driver receive mode.
- PKTMODE.COM
- READ.ME This file.
- README.503 Bob Clements' README file for the 3c503.
- README.505 README file for the 3c505.
- README.WD8 Jan Engvald's README file for the WD8003ET/A.
- SLIP8250.ASM Device dependent SLIP driver using IBM-PC 8250.
- SLIP8250.COM
- STAT.C Source of the statistics printer.
- STAT.EXE
- SUPPORT.TXT Who supports the packet driver spec.
- TAIL.ASM Non-resident device independent generic code.
- TERMIN.ASM Source of the packet driver terminator.
- TERMIN.COM
- TRACE.ASM Source of the packet driver tracer.
- TRACE.COM
- WD8003E.ASM Device dependent Western Digital WD-8003e code.
- WD8003E.COM
-
-
- Editor's note:
-
- I created the infrastructure for the packet drivers. All of the device
- dependent portions were written by other people. The best term to
- describe what I do is "Editor and publisher", because I perform a function
- similar to that served in the literary world.
-
- Please direct bug reports to me. Chances are that the bug is in my code
- anyway. If not, I'll forward the bug report on to the device driver author.
- As with all free software, no guarantee of support is given.
-
- Russell Nelson, Editor of the Clarkson packet drivers.
- nelson@clutx.clarkson.edu, nelson@clutx.bitnet
-
-
- Bugs:
-
- I have had bug reports for the 3c505, ni9210, and ni5210. I have also had
- reports that they work just fine. The ni5210 driver works just fine for
- me, but it eventually crashes when installed on a machine that typically
- has twenty simultaneous users. Why am I shipping buggy software? Because
- I am unable to test it. I just don't have the right hardware.
-
-
- Changes from version 4.0 to 5.0 of the drivers:
-
- Summary: New: 3c505, ne1000, ni9210, ibmtoken. Bugs fixed: all drivers.
-
- Krishnan Gopalan and Gregg Stefancik wrote a packet driver for the 3c505.
- Brian Fisher wrote an "Ethernet" packet driver for the IBM Token Ring Adapter.
- Eric Henderson wrote a packet driver for Novell's NE1000.
- Russell Nelson modified ni5210 to be a ni9210 driver. This entailed some
- changes in 82586.asm.
- Russell Nelson wrote pktmode, a utility to set the receive mode.
- Russell Nelson wrote pktaddr, a utility to set the Ethernet address.
- Russell Nelson wrote pktall, a utility to help debug packet reception.
- Trace.com is a little bit more helpful about how to run it.
- Vance Morrison added starlan support to the wd8003e driver.
- Eric Henderson improved it.
- Deborah Swanberg noticed that the 3c503 driver didn't timeout properly
- if there was a failure to complete a transmit.
- The set_address routine in the device dependent files now
- returns the address length as it should have.
- Head.asm now keeps a copy of the hardware address set by set_address. This is
- used by f_get_address to return the current address. The device
- dependent get_address routine always returns the PROM address.
- The set_rcv_mode routine didn't work. Not at all.
- The access_type routine returns more appropriate errors.
- The f_get_address routine wasn't passing the right address length to
- get_address.
- Tail.asm now checks for extra parameters on the end of the line.
- Dan Lanciani added changes to ni5210 version 4.2 to increase reliability.
- It works for him. Unfortunately, I have had reports from other
- people that it breaks Novell. So, these changes are in "if DAN"
- conditional assembly. If your Novell connection gets dropped,
- try reassembling ni5210 after setting "DAN equ 0" in 82586.asm
- Packet drivers for the NE2000 and UB NIC PC/2 are in the works, but don't
- hold your breath.
- A packet driver for the Xircom pocket Ethernet adapter is undergoing testing.
- Jan Engvald found and fixed a bug in the wd8003e memory presence check.
-
-
- Changes from version 3.0 to 4.0 of the drivers:
-
- Russell Nelson added code to enable interrupts in the body of the packet
- driver.
- Denis DeLaRoca added hardware handshake to the SLIP8250 driver.
- John Grover optimized the SLIP8250 driver to work at 38.4 Kbps.
- Russell Nelson added some sanity checking to slip8250 to warn the user about
- possible incorrect parameters.
- Bob Clements added a switch to select thick or thin Ethernet in the 3c503.
- Russell Nelson found a minor bug in NI5210 that caused it to fail to
- initialize sometimes. Thanks to everyone who reported it.
- Dan Lanciani found a race condition in the 80586 code common to the
- NI5210 and 3c523 drivers.
- Russell Nelson split out the 82586 code from the NI5210 and 3c523 drivers
- into a single file.
- Russell Nelson added memory address checking to NI5210.
- Glen M. Marianko devised a method for determining the memory size of the
- NI5210 automagically.
- Jan Engvald enhanced the packet driver code for Western Digital Ethernet
- cards to handle the micro channel version WD8003ET/A.
- Jan Engvald enhanced TAIL.ASM to return error codes to DOS.
- Jan Engvald enhanced HEAD.ASM to be aware of running on a MicroChannel bus.
- Rainer Toebbicke wrote the BICC Data Networks' ISOLAN 4110 ethernet driver.
- Russell Nelson wrote the packet driver tracer and dumper (trace.com and
- dump.exe).
- Russell Nelson added support for set_rcv_mode, get_rcv_mode,
- set_multicast_list, and get_multicast_list to the infrastructure. It
- is up to the individuals who wrote the individual drivers to add the
- device-dependent support.
-
-
- Changes from version 2.0 to 3.0 of the drivers:
-
- GNU General Public License adopted. The restriction on commercial usage
- prevented some companies from distributing the packet drivers. This
- is entirely my idea, so send any comments to nelson@clutx.clarkson.edu.
- 3c523 driver added, thanks to Dan Lanciani (ddl@harvard.edu).
- Gregg Stefanik (wstef@eng.clemson.edu) is working on a 3c505 driver. Don't
- bug him about it unless you're willing to be a alpha tester.
- User documentation added (DRIVERS.DOC).
- Brad Clements (no relation to Bob Clements) fixed the NI5210 driver so that
- it will work with a MTU of 1500.
- The NI5210 now checks for shorts and opens before it starts up, thanks to
- Brad.
- All memory-mapped packet drivers now check the packet length in send_pkt to
- ensure that too-long packets get trapped. All packet drivers will
- work with MTUs of 1500 (plus 14 bytes of Ethernet header).
- Deborah Swanberg noticed that attach_type was returning NO_CLASS
- when it meant to return NO_TYPE.
- She also noted that packet drivers weren't returning unique handles. This
- is only a problem with Phil Karn's code, as his code directs *every*
- packet driver to the same receiver routine. With non-unique handles,
- it was impossible to tell which packet driver was upcalling the
- receiver. Unique handles are now generated, based on the starting
- segment of the driver. The latest version of Karn's code uses different
- receiver routines, so the code to implement this will eventually go away.
- Tail.asm now prints the Ethernet address of the interface (if it is an Ethernet
- class device)
- Micom has sold Interlan, and Racal has bought it, so perhaps the NI5210 is
- now the Racal-Interlan NI5210?
- If anyone is interested in using the Zenith Z-100 with a SLIP packet driver, please
- send me (Russell Nelson) mail. I have it partially written, but will
- probably never use it myself.
- WD8003E and 3c503 sped up slightly -- stole movemem from NI5210.
-
-
- Changes from version 3 to 2.0 of the drivers:
-
- Version numbering now changed. If the skeleton changes, the major version is
- incremented and all the minor versions are reset to zero.
-
- Support for version 1.08 of the packet driver spec included.
- Bob Clements' 3c503 driver added. See README.503.
- Some comments improved.
- BAD_COMMAND checking code fixed.
- cld instructions added to ensure that DF=0.
- NI5210 sped up slightly -- look at movemem in ni5210.asm for an especially
- fast routine to move memory around.
-
-
- Changes from version 2 to 3 of the drivers:
-
- SLIP8250 can now be one of three classes: SLIP, AX.25, and KISS.
- Tail.asm now checks for a packet driver already at the given interrupt.
- Tail.asm now echoes its arguments in hex and decimal.
- Tail.asm will close stdout so that a file handle won't be used up in
- case the user redirects stdout to NUL.
- Head.asm now supports driver termination.
- Termin.com added to terminate a driver.
- Head.asm now does a stack swap to avoid pushing too many things when
- interrupting MS-LOSS.
-
-
- Changes from version 1 to 2 of the drivers:
-
- !! Arguments are now in decimal by default !! Use a 0x prefix for hex.
-
- DEFS.ASM created.
- The loadport macro improved.
- SLIP8250 driver added, thanks for a C version from Phil Karn.
- I've tried to put some 16550 support in, but I don't have one to
- test it with. The documentation insists the TBRE goes low when
- the transmit buffer is not empty, while it makes sense for it to stay
- high while the buffer is not full. I suspect the documentation is
- wrong.
- NI5010 driver added, thanks for a C version from Bill Doster.
- WD8003 driver added, by Bob Clements.
- Loadport macro added to WD8003 driver by Russell Nelson.
- Numeric arguments may now be specified in octal, decimal or hex, using the
- C notation.
- Numeric arguments can now use up to 32 bits.
- Source files reformatted.
-
-